<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>函数的返回值return</title>
</head>
<body>
<script>
    /*  函数的返回值return
    *   可以使用return来设置函数的返回值
    *   语法: return 值    return后的值可以是任何类型
    *   return后的值将会作为函数的执行结果返回，可以定义任意一个变量来接收该结果
    *       return后面的值都不执行了
    *       return后面不跟值 相当于返回一个undefined
    *       如果函数中不写return 也会返回一个undefined
    * 实参可以是任意类型的值也可以是一个对象
    *       当我们的参数过多时，可以将参数封装在一个对象中，然后通过对象传递
    *实参可以是一个函数
    * mianji()调用函数，返回的值
    * mianj 函数表达式，过程 函数名
    *       break和continue和return区别
    *        break 结束循环
    *       continue 跳过本次循环
    *       return是结束函数 return后面的语句都不执行了
    * */
   //举例1 创建一个函数，用来计算三个值的和
    function sum(a,b,c) {
        var d=a+b+c;
        return d;
        // return;//返回undefined
    }
    var result=sum(4,5,6);
    console.log("result="+result);
    //举例2 定义一个函数 判断一个数字是否是偶数，如果是返回true,如果不是 返回false

   function num() {
       var n= prompt("请输入一个数字");
       if (n%2==0){
           document.write(true);
       }else {
           document.write(false);
       }
   }
   num();
    //举例3 定义一个函数，可以根据半径求圆的面积，并返回结果
   var r=2;
    function mianji(r){
      return 3.14*r*r;;
    }
   var a=mianji(r);
    alert(a);
    //举例4 name gender age address 实参可以是一个对象
    function fun(o) {
    var a="我叫"+o.name+","+"我是"+o.gender+"人，"+"我"+o.age+"岁了，"+"我住在"+o.address;
    return a;
    }

    var obj={
        name:"孙悟空",
        gender:"男",
        age:28,
        address:"高老庄"
    };
    var result=fun(obj);
    console.log(result);
    //举例5 实参可以是一个函数
    function fun2(fun) {
    // console.log(a);
        var b=fun(obj);
        return b;
    }
    var c=fun2(fun);
    console.log(c);
    //举例5
    /* break和continue和return
*  break 结束循环
* continue 跳过本次循环
*   return是结束函数 return后面的语句都不执行了
* */
    function demo() {
        alert("函数将要执行");
        for (var a=0;a<5;a++){
            console.log(a);
        }
        alert("结束函数");
    }
    demo();
</script>
</body>
</html>